package 字节流读数据;
/*
字节流读取数组数据
 */

import java.io.FileInputStream;
import java.io.IOException;

/*
 使用字节输入流读数据的步骤：
 1.创建字节输入流对象
 2.调用字节输入流对象的读数据方法
 3.释放资源
 */
public class FileInputStream02 {
    public static void main(String[] args) throws IOException {
      //创建字节输入流对象
        FileInputStream fis =new FileInputStream("fos.txt");

        /*//调用字节输入流对象的读数据方法
        //int read (byte[] b):从该输入流读取最多 b.length个字节的数据到一个字节数组

        byte[] bys=new byte[5];

        //第一次读取数据
        int len = fis.read(bys);
        System.out.println(len);
        //String (byte[] bytes)
//        System.out.println(new String(bys));
        System.out.println(new String(bys,0,len));
        //第二次读取
        len = fis.read(bys);
        System.out.println(len);
//        System.out.println(new String(bys));
        System.out.println(new String(bys,0,len));
        //第三次数据
        len = fis.read(bys);
        System.out.println(len);
        System.out.println(new String(bys,0,len));//从0转到len;

        //多读取两次
        len = fis.read(bys);
        System.out.println(len);
        len =fis.read(bys);
        System.out.println(len);
*/

        /*
        hello\r\n，隐含了换行符
        world\r\n
        第一次读取了：hello
        第二次读取了：\r\nwor显示了换行符
        第三次读取了：ld\r\nr
         */

        byte[] bys =new byte[1024];//1024及其整数倍
        int len;
        while((len=fis.read(bys))!=-1){
            System.out.println(new String(bys,0,len));
        }
        //释放资源
        fis.close();
    }
}
